home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / print / ImagePrinter.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  1.2 KB  |  60 lines

  1. package sun.print;
  2.  
  3. import java.awt.Graphics;
  4. import java.awt.Graphics2D;
  5. import java.awt.image.BufferedImage;
  6. import java.awt.image.ImageObserver;
  7. import java.awt.print.PageFormat;
  8. import java.awt.print.Printable;
  9. import java.io.InputStream;
  10. import java.net.URL;
  11. import javax.imageio.ImageIO;
  12.  
  13. class ImagePrinter implements Printable {
  14.    BufferedImage image;
  15.  
  16.    ImagePrinter(InputStream var1) {
  17.       try {
  18.          this.image = ImageIO.read(var1);
  19.       } catch (Exception var3) {
  20.       }
  21.  
  22.    }
  23.  
  24.    ImagePrinter(URL var1) {
  25.       try {
  26.          this.image = ImageIO.read(var1);
  27.       } catch (Exception var3) {
  28.       }
  29.  
  30.    }
  31.  
  32.    public int print(Graphics var1, PageFormat var2, int var3) {
  33.       if (var3 <= 0 && this.image != null) {
  34.          ((Graphics2D)var1).translate(var2.getImageableX(), var2.getImageableY());
  35.          int var4 = this.image.getWidth((ImageObserver)null);
  36.          int var5 = this.image.getHeight((ImageObserver)null);
  37.          int var6 = (int)var2.getImageableWidth();
  38.          int var7 = (int)var2.getImageableHeight();
  39.          int var8 = var4;
  40.          int var9 = var5;
  41.          if (var4 > var6) {
  42.             var9 = (int)((float)var5 * ((float)var6 / (float)var4));
  43.             var8 = var6;
  44.          }
  45.  
  46.          if (var9 > var7) {
  47.             var8 = (int)((float)var8 * ((float)var7 / (float)var9));
  48.             var9 = var7;
  49.          }
  50.  
  51.          int var10 = (var6 - var8) / 2;
  52.          int var11 = (var7 - var9) / 2;
  53.          var1.drawImage(this.image, var10, var11, var10 + var8, var11 + var9, 0, 0, var4, var5, (ImageObserver)null);
  54.          return 0;
  55.       } else {
  56.          return 1;
  57.       }
  58.    }
  59. }
  60.